/*
 * 
 *  Este arquivo é parte do software TODO Calculadora. TODO Calculadora é um software livre;
 *  você pode redistribui-lo e/ou modifica-lo dentro dos termos da Licença Pública Geral GNU
 *  como publicada pela Fundação do Software Livre (FSF); na versão 2 da Licença,
 *  ou (na sua opnião) qualquer versão.
 *  
 *	Este programa é distribuido na esperança que possa ser útil, mas SEM NENHUMA GARANTIA;
 *  sem uma garantia implícita de ADEQUAÇÂO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR.
 *  Veja a Licença Pública Geral GNU para maiores detalhes. Você deve ter recebido uma cópia
 *  da Licença Pública Geral GNU junto com este programa, se não, escreva para a Fundação do
 *	Software Livre(FSF)
 *
 *	Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 */

package conversores.abstrata;

import enums.TipoConversaoTemperatura;

/**
 * <p>
 * Classe abstrata que estende {@link AbstractConversor} para implementar o
 * método de conversão específico e delegar a classes responsáveis de acordo com
 * o tipo de dado necessário para a execução da conversão.
 * </p>
 * 
 * @author Willyan Guimarães Caetano
 */
public abstract class AbstractConversorMedidaTemperatura extends
		AbstractConversor<TipoConversaoTemperatura, Double, Double> {

	@Override
	public void realizaConversaoMedida(TipoConversaoTemperatura unidadeEntrada,
			TipoConversaoTemperatura unidadeSaida, Double valorEntrada) {
		realizaConversaoMedidaTemperatura(unidadeEntrada, valorEntrada);
	}

	/**
	 * Implementação específica para conversão de medidas de temperatura.
	 * 
	 * @param conversao
	 *            Tipo de conversão a ser realizada
	 * @param valor
	 *            Valor a ser convertido
	 */
	public abstract void realizaConversaoMedidaTemperatura(
			TipoConversaoTemperatura conversao, Double valor);

}
